package com.bbva.gptf.back.tareas;

import java.util.Date;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;

import com.bbva.gptf.dto.servicio.nocturno.ServicioProcesoNocturno;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;
import com.bbva.jee.arq.spring.core.tareasprogramadas.QuartzTareaCron;

@QuartzTareaCron(nombre="TareaProcesoNocturno", patronCron="com.bbva.gptf.back.tareas.TareaProcesoNocturno.patronCron")
public class TareaProcesoNocturno extends QuartzJobBean
{  
	private static I18nLog log = I18nLogFactory.getLogI18n(TareaProcesoNocturno.class);
	
	@Autowired
	private ServicioProcesoNocturno servicioProcesoNocturno;
	
	public void setServicioProcesoNocturno(ServicioProcesoNocturno servicioProcesoNocturno) {
		this.servicioProcesoNocturno = servicioProcesoNocturno;
	}

	@Override
	 protected void executeInternal(JobExecutionContext context) throws JobExecutionException
	 {
		servicioProcesoNocturno.procesoNocturno(new Date());
		 log.info("TareaServicioProcesoNocturno ejecutada @ "+new Date());
	 } 
}